// -----------------------------------------------------------------------------
// Generate By Furion Tools v1.6.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;

#nullable disable

namespace iemtm.WeChat.Core
{
    public partial class ElectricityGenerationLedger : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<ElectricityGenerationLedger, MasterDbContextLocator>
    {

        public int AnnounceId { get; set; }
        public string AnnounceCode { get; set; }
        public string City { get; set; }
        public string AreaName { get; set; }
        public string BaseStationCode { get; set; }
        public string BaseStation { get; set; }
        public string GenerationFor { get; set; }
        public string AcceptCompanyName { get; set; }
        public string AcceptPersonName { get; set; }
        public string GensetNum { get; set; }
        public decimal? RatedPower { get; set; }
        public DateTime? ExecutionDate1 { get; set; }
        public DateTime? ExecutionDate2 { get; set; }
        public DateTime? GenStart1 { get; set; }
        public DateTime? GenStart2 { get; set; }
        public DateTime? GenStop { get; set; }
        public decimal? RunningTotalPeriod { get; set; }
        public string Audit { get; set; }
        public decimal? AuditRunningTotalPeriod { get; set; }
        public DateTime? AuditDate { get; set; }
        public string AnnAuditName { get; set; }
        public string AuditName { get; set; }
        public string Remarker { get; set; }
        public DateTime? UploadTime { get; set; }
        public string UploadCompanyCode { get; set; }
    
        public void Configure(EntityTypeBuilder<ElectricityGenerationLedger> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.HasKey(e => e.AnnounceId)
                    .HasName("PK__Electric__69D3B9CA2978592D");

                entityBuilder.Property(e => e.AcceptCompanyName).HasMaxLength(50);

                entityBuilder.Property(e => e.AcceptPersonName).HasMaxLength(50);

                entityBuilder.Property(e => e.AnnAuditName).HasMaxLength(50);

                entityBuilder.Property(e => e.AnnounceCode)
                    .IsRequired()
                    .HasMaxLength(50);

                entityBuilder.Property(e => e.AreaName).HasMaxLength(50);

                entityBuilder.Property(e => e.Audit).HasMaxLength(50);

                entityBuilder.Property(e => e.AuditDate).HasColumnType("datetime");

                entityBuilder.Property(e => e.AuditName).HasMaxLength(50);

                entityBuilder.Property(e => e.AuditRunningTotalPeriod).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.BaseStation).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStationCode).HasMaxLength(100);

                entityBuilder.Property(e => e.City).HasMaxLength(50);

                entityBuilder.Property(e => e.ExecutionDate1).HasColumnType("datetime");

                entityBuilder.Property(e => e.ExecutionDate2).HasColumnType("datetime");

                entityBuilder.Property(e => e.GenStart1).HasColumnType("datetime");

                entityBuilder.Property(e => e.GenStart2).HasColumnType("datetime");

                entityBuilder.Property(e => e.GenStop).HasColumnType("datetime");

                entityBuilder.Property(e => e.GenerationFor).HasMaxLength(50);

                entityBuilder.Property(e => e.GensetNum).HasMaxLength(50);

                entityBuilder.Property(e => e.RatedPower).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.Remarker).HasMaxLength(50);

                entityBuilder.Property(e => e.RunningTotalPeriod).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.UploadCompanyCode).HasMaxLength(50);

                entityBuilder.Property(e => e.UploadTime).HasColumnType("datetime");
        }

    }
}

